<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Ball Balancing Plate: Main</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="logo.jpg"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Ball Balancing Plate
   &#160;<span id="projectnumber">1.0.0</span>
   </div>
   <div id="projectbrief">Object recognition and control algorithm software.</div>
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group___main.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">Main</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga681e3f587c2e24e577ad99d56b663f0d">CAMERA_ID</a>&#160;&#160;&#160;1</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The camera id used (0 = primary, 1 = secondary)  <a href="#ga681e3f587c2e24e577ad99d56b663f0d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gafa42ae3a3e514ee00e30890c3158f56a">WIN_BINARY_NAME</a>&#160;&#160;&#160;&quot;Binary HSV Recognition&quot;</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Binary frame window name.  <a href="#gafa42ae3a3e514ee00e30890c3158f56a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga1f147d13e422eaccb294feb81f0e5ee7">WIN_FRAME_NAME</a>&#160;&#160;&#160;&quot;Object Tracking&quot;</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Object tracking frame window name.  <a href="#ga1f147d13e422eaccb294feb81f0e5ee7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga528a674ecfc32beb8b1dfede24b66dca">WIN_GRAPH_NAME</a>&#160;&#160;&#160;&quot;Signal plot&quot;</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Graph window name.  <a href="#ga528a674ecfc32beb8b1dfede24b66dca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga23ffff9afc54bc473cc3b4bbf0d9637c">BINARY_RESIZE</a>&#160;&#160;&#160;50</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Scaling factor (%) of the binary frame window.  <a href="#ga23ffff9afc54bc473cc3b4bbf0d9637c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gab26c7cb579e18875bacc9f7118c3d848">HSV_MIN</a>&#160;&#160;&#160;cvScalar(42, 140, 43)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower HSV values for creating binary image.  <a href="#gab26c7cb579e18875bacc9f7118c3d848"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gad59e8b6a2a4787641f4543edf1cde585">HSV_MAX</a>&#160;&#160;&#160;cvScalar(1118, 256, 256)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Upper HSV values for creating binary image.  <a href="#gad59e8b6a2a4787641f4543edf1cde585"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga5f048926a37dbc8f7cca17118f2607a6">TRACKING_COLOR</a>&#160;&#160;&#160;cvScalar(0, 0, 255)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Color for the tracking path.  <a href="#ga5f048926a37dbc8f7cca17118f2607a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga42c814f2d0df4f5b808717f5ed2caab3">ROTATION_RADIUS</a>&#160;&#160;&#160;150.0f</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The radius of the circle path around the center.  <a href="#ga42c814f2d0df4f5b808717f5ed2caab3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga56f5d8f5f5d41406e5a8d6c4a433d9ba">ROTATION_ANGLE_STEP</a>&#160;&#160;&#160;2.0f</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The rotation angle step around the center.  <a href="#ga56f5d8f5f5d41406e5a8d6c4a433d9ba"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">IplImage *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gaae7980446bfb533ac1d20bd364cd8f55">GetThresholdedImage</a> (IplImage *imgHSV)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Threshold the HSV image and create a binary image.  <a href="#gaae7980446bfb533ac1d20bd364cd8f55"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">CvPoint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga1cff0b66e0542535915b29424186f1c3">trackObject</a> (IplImage *imgThresh)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Object tracking functions from a binary image.  <a href="#ga1cff0b66e0542535915b29424186f1c3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The program entry point.  <a href="#gae66f6b31b5ad750f1fe042a706a4e3d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gabadf4b2e338a230af277c457a6f48b1d">setwindowSettings</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function create two windows and 6 trackbars.  <a href="#gabadf4b2e338a230af277c457a6f48b1d"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_compute.html">Compute</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gad7991bf79c0bd42b362b88e2f4b59c13">compute</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The main computing class instanace.  <a href="#gad7991bf79c0bd42b362b88e2f4b59c13"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static IplImage *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gac89b9ea5e9ea4d8dfa1db0389ae9655d">imgTracking</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Image tracking frame.  <a href="#gac89b9ea5e9ea4d8dfa1db0389ae9655d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static IplImage *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga700fc8bf3bbb61cbe9bb79ef72191466">imgPlot</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Plot frame.  <a href="#ga700fc8bf3bbb61cbe9bb79ef72191466"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga7bb8b2cfc1aec0db2429c600cddccf17">lastX</a> = -1</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tracking last X position.  <a href="#ga7bb8b2cfc1aec0db2429c600cddccf17"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gae135df8cfc9b15d97e97b400a5cbc768">lastY</a> = -1</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tracking last Y position.  <a href="#gae135df8cfc9b15d97e97b400a5cbc768"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gadb535ce83837e88311ab083ecb99f320">doTrack</a> = FALSE</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tracking enablement.  <a href="#gadb535ce83837e88311ab083ecb99f320"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga80f65a18255557dbc3bc236fab672264">doRotate</a> = FALSE</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the setpoint along a cirlce.  <a href="#ga80f65a18255557dbc3bc236fab672264"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga83e8ee98846251f562a2f86d4b111305">lowerH</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower value of Hue.  <a href="#ga83e8ee98846251f562a2f86d4b111305"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga699ea9ef5e1bf6a6f203e8bc9d11cab8">lowerS</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower value of Saturation.  <a href="#ga699ea9ef5e1bf6a6f203e8bc9d11cab8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gabaa01b087134fbce24533de8262eeda1">lowerV</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Lower value of Brightness.  <a href="#gabaa01b087134fbce24533de8262eeda1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gaea3c34f140b4c990f615ec6a3c7f9141">upperH</a> = 180</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Upper value of Hue.  <a href="#gaea3c34f140b4c990f615ec6a3c7f9141"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#ga9a9f67f87a6aa10dcae23e210f747dd2">upperS</a> = 256</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Upper value of Saturation.  <a href="#ga9a9f67f87a6aa10dcae23e210f747dd2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___main.html#gaddfe29c8ba358de0ac198a0be9e86a5c">upperV</a> = 256</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Upper value of Brightness.  <a href="#gaddfe29c8ba358de0ac198a0be9e86a5c"></a><br/></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga23ffff9afc54bc473cc3b4bbf0d9637c"></a><!-- doxytag: member="capture.hpp::BINARY_RESIZE" ref="ga23ffff9afc54bc473cc3b4bbf0d9637c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group___main.html#ga23ffff9afc54bc473cc3b4bbf0d9637c">BINARY_RESIZE</a>&#160;&#160;&#160;50</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Scaling factor (%) of the binary frame window. </p>

</div>
</div>
<a class="anchor" id="ga681e3f587c2e24e577ad99d56b663f0d"></a><!-- doxytag: member="capture.hpp::CAMERA_ID" ref="ga681e3f587c2e24e577ad99d56b663f0d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group___main.html#ga681e3f587c2e24e577ad99d56b663f0d">CAMERA_ID</a>&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The camera id used (0 = primary, 1 = secondary) </p>

</div>
</div>
<a class="anchor" id="gad59e8b6a2a4787641f4543edf1cde585"></a><!-- doxytag: member="capture.hpp::HSV_MAX" ref="gad59e8b6a2a4787641f4543edf1cde585" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group___main.html#gad59e8b6a2a4787641f4543edf1cde585">HSV_MAX</a>&#160;&#160;&#160;cvScalar(1118, 256, 256)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Upper HSV values for creating binary image. </p>

</div>
</div>
<a class="anchor" id="gab26c7cb579e18875bacc9f7118c3d848"></a><!-- doxytag: member="capture.hpp::HSV_MIN" ref="gab26c7cb579e18875bacc9f7118c3d848" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group___main.html#gab26c7cb579e18875bacc9f7118c3d848">HSV_MIN</a>&#160;&#160;&#160;cvScalar(42, 140, 43)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lower HSV values for creating binary image. </p>

</div>
</div>
<a class="anchor" id="ga56f5d8f5f5d41406e5a8d6c4a433d9ba"></a><!-- doxytag: member="capture.hpp::ROTATION_ANGLE_STEP" ref="ga56f5d8f5f5d41406e5a8d6c4a433d9ba" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group___main.html#ga56f5d8f5f5d41406e5a8d6c4a433d9ba">ROTATION_ANGLE_STEP</a>&#160;&#160;&#160;2.0f</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The rotation angle step around the center. </p>

</div>
</div>
<a class="anchor" id="ga42c814f2d0df4f5b808717f5ed2caab3"></a><!-- doxytag: member="capture.hpp::ROTATION_RADIUS" ref="ga42c814f2d0df4f5b808717f5ed2caab3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group___main.html#ga42c814f2d0df4f5b808717f5ed2caab3">ROTATION_RADIUS</a>&#160;&#160;&#160;150.0f</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The radius of the circle path around the center. </p>

</div>
</div>
<a class="anchor" id="ga5f048926a37dbc8f7cca17118f2607a6"></a><!-- doxytag: member="capture.hpp::TRACKING_COLOR" ref="ga5f048926a37dbc8f7cca17118f2607a6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group___main.html#ga5f048926a37dbc8f7cca17118f2607a6">TRACKING_COLOR</a>&#160;&#160;&#160;cvScalar(0, 0, 255)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Color for the tracking path. </p>

</div>
</div>
<a class="anchor" id="gafa42ae3a3e514ee00e30890c3158f56a"></a><!-- doxytag: member="capture.hpp::WIN_BINARY_NAME" ref="gafa42ae3a3e514ee00e30890c3158f56a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group___main.html#gafa42ae3a3e514ee00e30890c3158f56a">WIN_BINARY_NAME</a>&#160;&#160;&#160;&quot;Binary HSV Recognition&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Binary frame window name. </p>

</div>
</div>
<a class="anchor" id="ga1f147d13e422eaccb294feb81f0e5ee7"></a><!-- doxytag: member="capture.hpp::WIN_FRAME_NAME" ref="ga1f147d13e422eaccb294feb81f0e5ee7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group___main.html#ga1f147d13e422eaccb294feb81f0e5ee7">WIN_FRAME_NAME</a>&#160;&#160;&#160;&quot;Object Tracking&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Object tracking frame window name. </p>

</div>
</div>
<a class="anchor" id="ga528a674ecfc32beb8b1dfede24b66dca"></a><!-- doxytag: member="capture.hpp::WIN_GRAPH_NAME" ref="ga528a674ecfc32beb8b1dfede24b66dca" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="group___main.html#ga528a674ecfc32beb8b1dfede24b66dca">WIN_GRAPH_NAME</a>&#160;&#160;&#160;&quot;Signal plot&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Graph window name. </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gaae7980446bfb533ac1d20bd364cd8f55"></a><!-- doxytag: member="capture.cpp::GetThresholdedImage" ref="gaae7980446bfb533ac1d20bd364cd8f55" args="(IplImage *imgHSV)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">IplImage * <a class="el" href="group___main.html#gaae7980446bfb533ac1d20bd364cd8f55">GetThresholdedImage</a> </td>
          <td>(</td>
          <td class="paramtype">IplImage *&#160;</td>
          <td class="paramname"><em>imgHSV</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Threshold the HSV image and create a binary image. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">imgHSV</td><td>the HSV frame.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the binary image. </dd></dl>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___main_gaae7980446bfb533ac1d20bd364cd8f55_icgraph.png" border="0" usemap="#group___main_gaae7980446bfb533ac1d20bd364cd8f55_icgraph" alt=""/></div>
<map name="group___main_gaae7980446bfb533ac1d20bd364cd8f55_icgraph" id="group___main_gaae7980446bfb533ac1d20bd364cd8f55_icgraph">
<area shape="rect" id="node3" href="group___main.html#gae66f6b31b5ad750f1fe042a706a4e3d4" title="The program entry point." alt="" coords="203,5,253,35"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gae66f6b31b5ad750f1fe042a706a4e3d4"></a><!-- doxytag: member="capture.cpp::main" ref="gae66f6b31b5ad750f1fe042a706a4e3d4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group___main.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The program entry point. </p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___main_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.png" border="0" usemap="#group___main_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph" alt=""/></div>
<map name="group___main_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph" id="group___main_gae66f6b31b5ad750f1fe042a706a4e3d4_cgraph">
<area shape="rect" id="node3" href="group___control.html#gae689eda9201b54d1ca06a04a693b0e73" title="Check serial connection." alt="" coords="104,5,259,35"/><area shape="rect" id="node7" href="group___control.html#gadda796b81679fb1274b031977ed4aa85" title="Set OpenCV output window and image." alt="" coords="112,59,251,88"/><area shape="rect" id="node9" href="group___main.html#gaae7980446bfb533ac1d20bd364cd8f55" title="Threshold the HSV image and create a binary image." alt="" coords="108,112,255,141"/><area shape="rect" id="node11" href="group___main.html#ga1cff0b66e0542535915b29424186f1c3" title="Object tracking functions from a binary image." alt="" coords="137,165,225,195"/><area shape="rect" id="node13" href="group___control.html#ga426882753acbede055673691abe6b597" title="Update the x,y coordinates of the set point." alt="" coords="116,219,247,248"/><area shape="rect" id="node15" href="group___control.html#gaab1c21a03462410a52b24047c66961fe" title="Reset the set point to the center." alt="" coords="123,272,240,301"/><area shape="rect" id="node17" href="group___control.html#ga654ce447d37ead187bf4294108f14dff" title="Main control function." alt="" coords="120,325,243,355"/><area shape="rect" id="node5" href="group___serial.html#gaa53e46b5c8556152d5d3306fdab4117c" title="Get the connection status." alt="" coords="308,99,441,128"/><area shape="rect" id="node20" href="group___control.html#gaa5abc03d34d704f352f145904ddbc3b4" title="Update estimated value." alt="" coords="319,245,431,275"/><area shape="rect" id="node22" href="group___control.html#ga00974abc051527b2dcdcaf15d766872b" title="PID controller update function." alt="" coords="320,299,429,328"/><area shape="rect" id="node24" href="group___serial.html#ga3cce4a34142e8e2adbda131d43103e01" title="Write data to serial port." alt="" coords="315,352,435,381"/><area shape="rect" id="node26" href="group___control.html#gab35c5e0efd0fc15725300a44ec49ab3b" title="Draw a XY plot." alt="" coords="323,405,427,435"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gabadf4b2e338a230af277c457a6f48b1d"></a><!-- doxytag: member="findHSVValues.cpp::setwindowSettings" ref="gabadf4b2e338a230af277c457a6f48b1d" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="group___main.html#gabadf4b2e338a230af277c457a6f48b1d">setwindowSettings</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This function create two windows and 6 trackbars. </p>

</div>
</div>
<a class="anchor" id="ga1cff0b66e0542535915b29424186f1c3"></a><!-- doxytag: member="capture.cpp::trackObject" ref="ga1cff0b66e0542535915b29424186f1c3" args="(IplImage *imgThresh)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CvPoint <a class="el" href="group___main.html#ga1cff0b66e0542535915b29424186f1c3">trackObject</a> </td>
          <td>(</td>
          <td class="paramtype">IplImage *&#160;</td>
          <td class="paramname"><em>imgThresh</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Object tracking functions from a binary image. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">imgThresh</td><td>the binary image.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the center of gravity of the tracked object. </dd></dl>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___main_ga1cff0b66e0542535915b29424186f1c3_icgraph.png" border="0" usemap="#group___main_ga1cff0b66e0542535915b29424186f1c3_icgraph" alt=""/></div>
<map name="group___main_ga1cff0b66e0542535915b29424186f1c3_icgraph" id="group___main_ga1cff0b66e0542535915b29424186f1c3_icgraph">
<area shape="rect" id="node3" href="group___main.html#gae66f6b31b5ad750f1fe042a706a4e3d4" title="The program entry point." alt="" coords="144,5,195,35"/></map>
</div>
</p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="gad7991bf79c0bd42b362b88e2f4b59c13"></a><!-- doxytag: member="capture.cpp::compute" ref="gad7991bf79c0bd42b362b88e2f4b59c13" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_compute.html">Compute</a>* <a class="el" href="group___main.html#gad7991bf79c0bd42b362b88e2f4b59c13">compute</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The main computing class instanace. </p>

</div>
</div>
<a class="anchor" id="ga80f65a18255557dbc3bc236fab672264"></a><!-- doxytag: member="capture.cpp::doRotate" ref="ga80f65a18255557dbc3bc236fab672264" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="group___main.html#ga80f65a18255557dbc3bc236fab672264">doRotate</a> = FALSE<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the setpoint along a cirlce. </p>

</div>
</div>
<a class="anchor" id="gadb535ce83837e88311ab083ecb99f320"></a><!-- doxytag: member="capture.cpp::doTrack" ref="gadb535ce83837e88311ab083ecb99f320" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="group___main.html#gadb535ce83837e88311ab083ecb99f320">doTrack</a> = FALSE<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tracking enablement. </p>

</div>
</div>
<a class="anchor" id="ga700fc8bf3bbb61cbe9bb79ef72191466"></a><!-- doxytag: member="capture.cpp::imgPlot" ref="ga700fc8bf3bbb61cbe9bb79ef72191466" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">IplImage* <a class="el" href="group___main.html#ga700fc8bf3bbb61cbe9bb79ef72191466">imgPlot</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Plot frame. </p>

</div>
</div>
<a class="anchor" id="gac89b9ea5e9ea4d8dfa1db0389ae9655d"></a><!-- doxytag: member="capture.cpp::imgTracking" ref="gac89b9ea5e9ea4d8dfa1db0389ae9655d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">IplImage* <a class="el" href="group___main.html#gac89b9ea5e9ea4d8dfa1db0389ae9655d">imgTracking</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Image tracking frame. </p>

</div>
</div>
<a class="anchor" id="ga7bb8b2cfc1aec0db2429c600cddccf17"></a><!-- doxytag: member="capture.cpp::lastX" ref="ga7bb8b2cfc1aec0db2429c600cddccf17" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group___main.html#ga7bb8b2cfc1aec0db2429c600cddccf17">lastX</a> = -1<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tracking last X position. </p>

</div>
</div>
<a class="anchor" id="gae135df8cfc9b15d97e97b400a5cbc768"></a><!-- doxytag: member="capture.cpp::lastY" ref="gae135df8cfc9b15d97e97b400a5cbc768" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group___main.html#gae135df8cfc9b15d97e97b400a5cbc768">lastY</a> = -1<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tracking last Y position. </p>

</div>
</div>
<a class="anchor" id="ga83e8ee98846251f562a2f86d4b111305"></a><!-- doxytag: member="findHSVValues.cpp::lowerH" ref="ga83e8ee98846251f562a2f86d4b111305" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group___main.html#ga83e8ee98846251f562a2f86d4b111305">lowerH</a> = 0<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lower value of Hue. </p>

</div>
</div>
<a class="anchor" id="ga699ea9ef5e1bf6a6f203e8bc9d11cab8"></a><!-- doxytag: member="findHSVValues.cpp::lowerS" ref="ga699ea9ef5e1bf6a6f203e8bc9d11cab8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group___main.html#ga699ea9ef5e1bf6a6f203e8bc9d11cab8">lowerS</a> = 0<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lower value of Saturation. </p>

</div>
</div>
<a class="anchor" id="gabaa01b087134fbce24533de8262eeda1"></a><!-- doxytag: member="findHSVValues.cpp::lowerV" ref="gabaa01b087134fbce24533de8262eeda1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group___main.html#gabaa01b087134fbce24533de8262eeda1">lowerV</a> = 0<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lower value of Brightness. </p>

</div>
</div>
<a class="anchor" id="gaea3c34f140b4c990f615ec6a3c7f9141"></a><!-- doxytag: member="findHSVValues.cpp::upperH" ref="gaea3c34f140b4c990f615ec6a3c7f9141" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group___main.html#gaea3c34f140b4c990f615ec6a3c7f9141">upperH</a> = 180<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Upper value of Hue. </p>

</div>
</div>
<a class="anchor" id="ga9a9f67f87a6aa10dcae23e210f747dd2"></a><!-- doxytag: member="findHSVValues.cpp::upperS" ref="ga9a9f67f87a6aa10dcae23e210f747dd2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group___main.html#ga9a9f67f87a6aa10dcae23e210f747dd2">upperS</a> = 256<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Upper value of Saturation. </p>

</div>
</div>
<a class="anchor" id="gaddfe29c8ba358de0ac198a0be9e86a5c"></a><!-- doxytag: member="findHSVValues.cpp::upperV" ref="gaddfe29c8ba358de0ac198a0be9e86a5c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="group___main.html#gaddfe29c8ba358de0ac198a0be9e86a5c">upperV</a> = 256<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Upper value of Brightness. </p>

</div>
</div>
</div><!-- contents -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div>
  <div id="nav-path" class="navpath">
    <ul>

    <li class="footer">Generated on Wed Jun 5 2013 12:20:17 for Ball Balancing Plate by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
